package xyz.tanxiao.links.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * 映射状态枚举
 *
 * @author 万成波
 * @email 2300064869@qq.com
 * @createTime 2023-06-10 18:04:06 星期六
 */
@Getter
@AllArgsConstructor
public enum MappingKeyStatusEnum {

	/**
	 * 正常
	 */
	NORMAL(0, ""),

	/**
	 * 禁用
	 */
	DISABLE(1, "访问失败，该链接已被禁用。"),

	/**
	 * 过期
	 */
	EXPIRED(2, "访问失败，该短链接已过期。"),

	/**
	 * 受限
	 */
	RESTRICTED(3, "访问失败，该链接访问受限。");

	/**
	 * 映射状态
	 */
	private final int status;

	/**
	 * 反馈消息
	 */
	private final String message;


	public static MappingKeyStatusEnum getByStatus(int status) {
		return Arrays.stream(MappingKeyStatusEnum.values())
			.filter(s -> s.getStatus() == status).findFirst().orElse(null);
	}

}